return function()
  return {
    preview = {
      lines_above = 0,
      lines_below = 10,
    },
    scroll_preview = {
      scroll_down = '<C-f>',
      scroll_up = '<C-b>',
    },
    request_timeout = 2000,
    -- lsp_finder
    finder = {
      -- percentage
      max_height = 0.5,
      keys = {
        jump_to = 'p',
        edit = { 'o', '<CR>' },
        vsplit = 's',
        split = 'i',
        tabe = 't',
        quit = { 'q', '<ESC>' },
        close_in_preview = '<ESC>',
      },
    },
    -- peek_definition
    definition = {
      edit = '<C-c>o',
      vsplit = '<C-c>v',
      split = '<C-c>i',
      tabe = '<C-c>t',
      quit = 'q',
    },
    -- code_action
    code_action = {
      num_shortcut = true,
      show_server_name = false,
      keys = {
        -- string | table type
        quit = 'q',
        exec = '<CR>',
      },
    },
    -- 灯泡
    lightbulb = {
      enable = false, -- 不显示灯泡
      enable_in_insert = false,
      sign = false,
      sign_priority = 40,
      virtual_text = false,
    },
    -- hover_doc
    -- K :Lspsaga hover_doc
    -- K 进入 hover window
    -- q 退出

    -- diagnostic_jump_next
    diagnostic = {
      on_insert = false,
      on_insert_follow = false,
      show_code_action = true,
      show_source = true,
      jump_num_shortcut = true,
      -- 1 is max
      max_width = 0.7,
      custom_fix = nil,
      custom_msg = nil,
      text_hl_follow = false,
      border_follow = true,
      keys = {
        exec_action = 'o',
        quit = 'q',
        go_action = 'g',
      },
    },
    -- rename
    rename = {
      quit = '<C-c>',
      exec = '<CR>',
      mark = 'x',
      confirm = '<CR>',
      in_select = true,
    },
    -- outline
    outline = {
      win_position = 'right',
      win_with = '',
      win_width = 30,
      show_detail = true,
      auto_preview = true,
      auto_refresh = true,
      auto_close = true,
      custom_sort = nil,
      keys = {
        jump = 'o',
        expand_collapse = 'u',
        quit = 'q',
      },
    },
    -- incoming_calls / outgoing_calls
    callhierarchy = {
      show_detail = false,
      keys = {
        edit = 'e',
        vsplit = 's',
        split = 'i',
        tabe = 't',
        jump = 'o',
        quit = 'q',
        expand_collapse = 'u',
      },
    },
    -- winbar设置与增强
    symbol_in_winbar = {
      enable = false,
      separator = '  ',
      hide_keyword = true,
      show_file = true,
      folder_level = 2,
      respect_root = false,
      color_mode = true,
    },
    -- 跳转到文档后闪烁提示
    beacon = {
      enable = true,
      frequency = 7,
    },
    -- ui美化
    ui = {
      border = 'rounded',
    },
  }
end
